package com.shujia.process_contr;

import java.util.Scanner;

public class IfExer2 {

    /*
    假设你想开发一个玩彩票的游戏，程序随机地产生一个两位数的彩票，提示用户输入
    一个两位数，然后按照下面的规则判定用户是否能赢。
    如果用户输入的数不是2位数，提示号码有误。
    如果用户输入的数匹配彩票的实际顺序，奖金10 000美元。
    如果用户输入的所有数字匹配彩票的所有数字，但顺序不一致，奖金 3 000美元。
    如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字，奖金1 000美元。
    如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字，奖金500美元。
    如果用户输入的数字没有匹配任何一个数字，则彩票作废。
     */
    public static void main(String[] args) {
        // [0, 1) -> [0, 90) -> [10, 100)小数, 10, 99
        int num = (int) (Math.random() * 90 + 10);
        System.out.println(num);
        System.out.print("请输入一个2位数:");
        Scanner sc = new Scanner(System.in);
        int inputNum = sc.nextInt();

        // 获取数字的个位和十位
        int geNum = num % 10;
        int shiNum = num / 10 % 10;
        int geInputNum = inputNum % 10;
        int shiInputNum = inputNum / 10 % 10;

        // 校验 inputNum
        if (10 <= inputNum && inputNum < 100) {
            // 如果用户输入的数匹配彩票的实际顺序相同, 数字也相同，奖金10 000美元
            if (inputNum == num) {
                System.out.println("奖金10 000美元");
                // ()不止是可以调整优先级, 也可以增加代码的可读性
            } else if ((geNum == shiInputNum) && (shiNum == geInputNum)) { // 53 -> 35
                System.out.println("奖金 3 000美元");
            } else if ((shiNum == shiInputNum) ||
                    (geNum == geInputNum)) {
                // 53 -> 十位是5,个位不能是3; 十位不是5, 个位是3
                // 顺序情况下匹配彩票的一个数字，奖金1 000美元
                System.out.println("奖金1 000美元");
            } else if ((shiNum == geInputNum) ||
                    (geNum == shiInputNum)) {
                //满足非顺序情况下匹配彩票的一个数字，奖金500美元。
                // 53 -> 十位不能是3, 个位是5; 十位是3,个位不能是5
                System.out.println("奖金500美元");
            } else {
                System.out.println("下次再来买!");
            }
        } else {
            System.out.println("号码有误!");
        }
    }
}
